package com.solitaire.and;

import android.util.Base64;

public class StringEncryptor {

    private static final String KEY = "23sdWE2dE263Gse3"; // 16字节密钥

    // 加密方法
//    public static String encrypt(String plainText) {
//        byte[] keyBytes = KEY.getBytes();
//        byte[] textBytes = plainText.getBytes();
//        byte[] encryptedBytes = new byte[textBytes.length];
//
//        for (int i = 0; i < textBytes.length; i++) {
//            encryptedBytes[i] = (byte) (textBytes[i] ^ keyBytes[i % keyBytes.length]);
//        }
//
//        // 使用 Base64 编码将加密后的字节数组转换为字符串
//        return Base64.encodeToString(encryptedBytes, Base64.NO_WRAP);
//    }

    // 解密方法
    public static String decrypt(String cipherText) {
        byte[] keyBytes = KEY.getBytes();
        byte[] encryptedBytes = Base64.decode(cipherText, Base64.NO_WRAP);
        byte[] decryptedBytes = new byte[encryptedBytes.length];

        for (int i = 0; i < encryptedBytes.length; i++) {
            decryptedBytes[i] = (byte) (encryptedBytes[i] ^ keyBytes[i % keyBytes.length]);
        }

        return new String(decryptedBytes);
    }

}
